<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>NVTX C API Reference: Resource Naming</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">NVTX C API Reference<span id="projectnumber">&#160;v3</span>
   </div>
   <div id="projectbrief">NVIDIA Tools Extension Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.5 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a>  </div>
  <div class="headertitle"><div class="title">Resource Naming</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnvtx_resource_attributes__v0.html">nvtxResourceAttributes_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resource Attribute Structure. <a class="anchor" id="RESOURCE_ATTRIBUTE_STRUCTURE"></a>.  <a href="structnvtx_resource_attributes__v0.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Functions for Generic Resource Naming</h2></td></tr>
<tr class="memitem:gabaaf30c7cfd72033a5521de326eacdab"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gabaaf30c7cfd72033a5521de326eacdab">nvtxResourceGenericType_t</a> { <br />
&#160;&#160;<b>NVTX_RESOURCE_TYPE_UNKNOWN</b> = 0
, <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ggabaaf30c7cfd72033a5521de326eacdabac874caafa9e3038f4c3302917278f57f">NVTX_RESOURCE_TYPE_GENERIC_POINTER</a> = NVTX_RESOURCE_MAKE_TYPE(GENERIC, 1)
, <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ggabaaf30c7cfd72033a5521de326eacdabab9172fba948d1b324be487c212f6090b">NVTX_RESOURCE_TYPE_GENERIC_HANDLE</a> = NVTX_RESOURCE_MAKE_TYPE(GENERIC, 2)
, <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ggabaaf30c7cfd72033a5521de326eacdabad7cc4f337d6271605c43cac23f2fa65f">NVTX_RESOURCE_TYPE_GENERIC_THREAD_NATIVE</a> = NVTX_RESOURCE_MAKE_TYPE(GENERIC, 3)
, <br />
&#160;&#160;<a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ggabaaf30c7cfd72033a5521de326eacdaba3a4a3e315e274f7d1665b2b4b47dbebb">NVTX_RESOURCE_TYPE_GENERIC_THREAD_POSIX</a> = NVTX_RESOURCE_MAKE_TYPE(GENERIC, 4)
<br />
 }</td></tr>
<tr class="memdesc:gabaaf30c7cfd72033a5521de326eacdab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic resource type for when a resource class is not available.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gabaaf30c7cfd72033a5521de326eacdab">More...</a><br /></td></tr>
<tr class="separator:gabaaf30c7cfd72033a5521de326eacdab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12271bb3f03619d5862bd5a900f9aac1"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC nvtxResourceHandle_t NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga12271bb3f03619d5862bd5a900f9aac1">nvtxDomainResourceCreate</a> (nvtxDomainHandle_t domain, nvtxResourceAttributes_t *attribs)</td></tr>
<tr class="memdesc:ga12271bb3f03619d5862bd5a900f9aac1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a resource object to track and associate data with OS and middleware objects.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga12271bb3f03619d5862bd5a900f9aac1">More...</a><br /></td></tr>
<tr class="separator:ga12271bb3f03619d5862bd5a900f9aac1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Functions for CUDA Resource Naming</h2></td></tr>
<tr class="memitem:gac064cff7b338ee310435be257d66c770"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gac064cff7b338ee310435be257d66c770">nvtxResourceCUDAType_t</a> { <b>NVTX_RESOURCE_TYPE_CUDA_DEVICE</b> = NVTX_RESOURCE_MAKE_TYPE(CUDA, 1)
, <b>NVTX_RESOURCE_TYPE_CUDA_CONTEXT</b> = NVTX_RESOURCE_MAKE_TYPE(CUDA, 2)
, <b>NVTX_RESOURCE_TYPE_CUDA_STREAM</b> = NVTX_RESOURCE_MAKE_TYPE(CUDA, 3)
, <b>NVTX_RESOURCE_TYPE_CUDA_EVENT</b> = NVTX_RESOURCE_MAKE_TYPE(CUDA, 4)
 }</td></tr>
<tr class="memdesc:gac064cff7b338ee310435be257d66c770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resource types for CUDA.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gac064cff7b338ee310435be257d66c770">More...</a><br /></td></tr>
<tr class="separator:gac064cff7b338ee310435be257d66c770"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c55ce198bddea831a5ba087361eb6df"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga3c55ce198bddea831a5ba087361eb6df">nvtxNameCuDeviceA</a> (CUdevice device, const char *name)</td></tr>
<tr class="memdesc:ga3c55ce198bddea831a5ba087361eb6df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates a CUDA device.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga3c55ce198bddea831a5ba087361eb6df">More...</a><br /></td></tr>
<tr class="separator:ga3c55ce198bddea831a5ba087361eb6df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ca1d63f06e0850d7c7952dd5c3af488"><td class="memItemLeft" align="right" valign="top"><a id="ga3ca1d63f06e0850d7c7952dd5c3af488" name="ga3ca1d63f06e0850d7c7952dd5c3af488"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameCuDeviceW</b> (CUdevice device, const wchar_t *name)</td></tr>
<tr class="separator:ga3ca1d63f06e0850d7c7952dd5c3af488"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Functions for CUDA Resource Naming</h2></td></tr>
<tr class="memitem:ga0c4c8dd24343fa6f3d32cd778c5fd9ff"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga0c4c8dd24343fa6f3d32cd778c5fd9ff">nvtxResourceCUDARTType_t</a> { <b>NVTX_RESOURCE_TYPE_CUDART_DEVICE</b> = NVTX_RESOURCE_MAKE_TYPE(CUDART, 0)
, <b>NVTX_RESOURCE_TYPE_CUDART_STREAM</b> = NVTX_RESOURCE_MAKE_TYPE(CUDART, 1)
, <b>NVTX_RESOURCE_TYPE_CUDART_EVENT</b> = NVTX_RESOURCE_MAKE_TYPE(CUDART, 2)
 }</td></tr>
<tr class="memdesc:ga0c4c8dd24343fa6f3d32cd778c5fd9ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resource types for CUDART.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga0c4c8dd24343fa6f3d32cd778c5fd9ff">More...</a><br /></td></tr>
<tr class="separator:ga0c4c8dd24343fa6f3d32cd778c5fd9ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dc62de300d3ee0ecd96c8ea4bdf9ede"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga7dc62de300d3ee0ecd96c8ea4bdf9ede">nvtxNameCudaDeviceA</a> (int device, const char *name)</td></tr>
<tr class="memdesc:ga7dc62de300d3ee0ecd96c8ea4bdf9ede"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates a CUDA device.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga7dc62de300d3ee0ecd96c8ea4bdf9ede">More...</a><br /></td></tr>
<tr class="separator:ga7dc62de300d3ee0ecd96c8ea4bdf9ede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6da7a1267c973557079259b027b93a01"><td class="memItemLeft" align="right" valign="top"><a id="ga6da7a1267c973557079259b027b93a01" name="ga6da7a1267c973557079259b027b93a01"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameCudaDeviceW</b> (int device, const wchar_t *name)</td></tr>
<tr class="separator:ga6da7a1267c973557079259b027b93a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Functions for OpenCL Resource Naming</h2></td></tr>
<tr class="memitem:gabe2bb2099deba2265ec10b8881102e97"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gabe2bb2099deba2265ec10b8881102e97">nvtxResourceOpenCLType_t</a> { <br />
&#160;&#160;<b>NVTX_RESOURCE_TYPE_OPENCL_DEVICE</b> = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 1)
, <b>NVTX_RESOURCE_TYPE_OPENCL_CONTEXT</b> = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 2)
, <b>NVTX_RESOURCE_TYPE_OPENCL_COMMANDQUEUE</b> = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 3)
, <b>NVTX_RESOURCE_TYPE_OPENCL_MEMOBJECT</b> = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 4)
, <br />
&#160;&#160;<b>NVTX_RESOURCE_TYPE_OPENCL_SAMPLER</b> = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 5)
, <b>NVTX_RESOURCE_TYPE_OPENCL_PROGRAM</b> = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 6)
, <b>NVTX_RESOURCE_TYPE_OPENCL_EVENT</b> = NVTX_RESOURCE_MAKE_TYPE(OPENCL, 7)
<br />
 }</td></tr>
<tr class="memdesc:gabe2bb2099deba2265ec10b8881102e97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resource types for OpenCL.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gabe2bb2099deba2265ec10b8881102e97">More...</a><br /></td></tr>
<tr class="separator:gabe2bb2099deba2265ec10b8881102e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41c7b1a74896903cbe37766555d7bbfc"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga41c7b1a74896903cbe37766555d7bbfc">nvtxNameClDeviceA</a> (cl_device_id device, const char *name)</td></tr>
<tr class="memdesc:ga41c7b1a74896903cbe37766555d7bbfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates an OpenCL device.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga41c7b1a74896903cbe37766555d7bbfc">More...</a><br /></td></tr>
<tr class="separator:ga41c7b1a74896903cbe37766555d7bbfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23cbc6756f27a86db4df9c1d1b842317"><td class="memItemLeft" align="right" valign="top"><a id="ga23cbc6756f27a86db4df9c1d1b842317" name="ga23cbc6756f27a86db4df9c1d1b842317"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameClDeviceW</b> (cl_device_id device, const wchar_t *name)</td></tr>
<tr class="separator:ga23cbc6756f27a86db4df9c1d1b842317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa95f902006e108c6fcca5c76b2d4a2b1"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaa95f902006e108c6fcca5c76b2d4a2b1">nvtxDomainResourceDestroy</a> (nvtxResourceHandle_t resource)</td></tr>
<tr class="memdesc:gaa95f902006e108c6fcca5c76b2d4a2b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a resource object to track and associate data with OS and middleware objects.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaa95f902006e108c6fcca5c76b2d4a2b1">More...</a><br /></td></tr>
<tr class="separator:gaa95f902006e108c6fcca5c76b2d4a2b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Functions for NVTX Category Naming</h2></td></tr>
<tr class="memitem:gaf2898af52be50279355c0ee1f57afbaa"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaf2898af52be50279355c0ee1f57afbaa">nvtxDomainNameCategoryA</a> (nvtxDomainHandle_t domain, uint32_t category, const char *name)</td></tr>
<tr class="memdesc:gaf2898af52be50279355c0ee1f57afbaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotate an NVTX category used within a domain.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaf2898af52be50279355c0ee1f57afbaa">More...</a><br /></td></tr>
<tr class="separator:gaf2898af52be50279355c0ee1f57afbaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d31927020e9226acbaa70e118243796"><td class="memItemLeft" align="right" valign="top"><a id="ga2d31927020e9226acbaa70e118243796" name="ga2d31927020e9226acbaa70e118243796"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxDomainNameCategoryW</b> (nvtxDomainHandle_t domain, uint32_t category, const wchar_t *name)</td></tr>
<tr class="separator:ga2d31927020e9226acbaa70e118243796"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga801e84711db9de7b28235e529b101e4a"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga801e84711db9de7b28235e529b101e4a">nvtxNameCategoryA</a> (uint32_t category, const char *name)</td></tr>
<tr class="memdesc:ga801e84711db9de7b28235e529b101e4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotate an NVTX category.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga801e84711db9de7b28235e529b101e4a">More...</a><br /></td></tr>
<tr class="separator:ga801e84711db9de7b28235e529b101e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2759c387f5479904175f07953711e0e"><td class="memItemLeft" align="right" valign="top"><a id="gad2759c387f5479904175f07953711e0e" name="gad2759c387f5479904175f07953711e0e"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameCategoryW</b> (uint32_t category, const wchar_t *name)</td></tr>
<tr class="separator:gad2759c387f5479904175f07953711e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Functions for OS Threads Naming</h2></td></tr>
<tr class="memitem:gaeb7d5b25e1147fc4aaf1f3acb8e719d0"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">nvtxNameOsThreadA</a> (uint32_t threadId, const char *name)</td></tr>
<tr class="memdesc:gaeb7d5b25e1147fc4aaf1f3acb8e719d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotate an OS thread.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">More...</a><br /></td></tr>
<tr class="separator:gaeb7d5b25e1147fc4aaf1f3acb8e719d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87b8e961b3942bf1cee1fdd9774af131"><td class="memItemLeft" align="right" valign="top"><a id="ga87b8e961b3942bf1cee1fdd9774af131" name="ga87b8e961b3942bf1cee1fdd9774af131"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameOsThreadW</b> (uint32_t threadId, const wchar_t *name)</td></tr>
<tr class="separator:ga87b8e961b3942bf1cee1fdd9774af131"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e4a70510d4deb5e0e21039d00a64dc4"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga9e4a70510d4deb5e0e21039d00a64dc4">nvtxNameCuContextA</a> (CUcontext context, const char *name)</td></tr>
<tr class="memdesc:ga9e4a70510d4deb5e0e21039d00a64dc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates a CUDA context.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga9e4a70510d4deb5e0e21039d00a64dc4">More...</a><br /></td></tr>
<tr class="separator:ga9e4a70510d4deb5e0e21039d00a64dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac90b2e8518cc1941b9d8b3ec58b15670"><td class="memItemLeft" align="right" valign="top"><a id="gac90b2e8518cc1941b9d8b3ec58b15670" name="gac90b2e8518cc1941b9d8b3ec58b15670"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameCuContextW</b> (CUcontext context, const wchar_t *name)</td></tr>
<tr class="separator:gac90b2e8518cc1941b9d8b3ec58b15670"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacada16c62463b268f8ede952ec77f766"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gacada16c62463b268f8ede952ec77f766">nvtxNameCuStreamA</a> (CUstream stream, const char *name)</td></tr>
<tr class="memdesc:gacada16c62463b268f8ede952ec77f766"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates a CUDA stream.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gacada16c62463b268f8ede952ec77f766">More...</a><br /></td></tr>
<tr class="separator:gacada16c62463b268f8ede952ec77f766"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae84a30c14a733df97de9fa1f404feb2a"><td class="memItemLeft" align="right" valign="top"><a id="gae84a30c14a733df97de9fa1f404feb2a" name="gae84a30c14a733df97de9fa1f404feb2a"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameCuStreamW</b> (CUstream stream, const wchar_t *name)</td></tr>
<tr class="separator:gae84a30c14a733df97de9fa1f404feb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d27495642375963619c4be8f871abc1"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga7d27495642375963619c4be8f871abc1">nvtxNameCuEventA</a> (CUevent event, const char *name)</td></tr>
<tr class="memdesc:ga7d27495642375963619c4be8f871abc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates a CUDA event.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga7d27495642375963619c4be8f871abc1">More...</a><br /></td></tr>
<tr class="separator:ga7d27495642375963619c4be8f871abc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a7f3d52a53af78b3102807f0701e693"><td class="memItemLeft" align="right" valign="top"><a id="ga6a7f3d52a53af78b3102807f0701e693" name="ga6a7f3d52a53af78b3102807f0701e693"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameCuEventW</b> (CUevent event, const wchar_t *name)</td></tr>
<tr class="separator:ga6a7f3d52a53af78b3102807f0701e693"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83a1216bed0f8c995a9f8190325d502c"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga83a1216bed0f8c995a9f8190325d502c">nvtxNameCudaStreamA</a> (cudaStream_t stream, const char *name)</td></tr>
<tr class="memdesc:ga83a1216bed0f8c995a9f8190325d502c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates a CUDA stream.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga83a1216bed0f8c995a9f8190325d502c">More...</a><br /></td></tr>
<tr class="separator:ga83a1216bed0f8c995a9f8190325d502c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3a41cab3493f2867194a6a0800d2e76"><td class="memItemLeft" align="right" valign="top"><a id="gae3a41cab3493f2867194a6a0800d2e76" name="gae3a41cab3493f2867194a6a0800d2e76"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameCudaStreamW</b> (cudaStream_t stream, const wchar_t *name)</td></tr>
<tr class="separator:gae3a41cab3493f2867194a6a0800d2e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabbdb1f82b6ae42291dd9f9cfce0bda6a"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gabbdb1f82b6ae42291dd9f9cfce0bda6a">nvtxNameCudaEventA</a> (cudaEvent_t event, const char *name)</td></tr>
<tr class="memdesc:gabbdb1f82b6ae42291dd9f9cfce0bda6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates a CUDA event.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gabbdb1f82b6ae42291dd9f9cfce0bda6a">More...</a><br /></td></tr>
<tr class="separator:gabbdb1f82b6ae42291dd9f9cfce0bda6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf753a4045e5a721675d07b6f82e40c94"><td class="memItemLeft" align="right" valign="top"><a id="gaf753a4045e5a721675d07b6f82e40c94" name="gaf753a4045e5a721675d07b6f82e40c94"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameCudaEventW</b> (cudaEvent_t event, const wchar_t *name)</td></tr>
<tr class="separator:gaf753a4045e5a721675d07b6f82e40c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2aecaaf56c48c70a2606e341da019d4"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaf2aecaaf56c48c70a2606e341da019d4">nvtxNameClContextA</a> (cl_context context, const char *name)</td></tr>
<tr class="memdesc:gaf2aecaaf56c48c70a2606e341da019d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates an OpenCL context.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaf2aecaaf56c48c70a2606e341da019d4">More...</a><br /></td></tr>
<tr class="separator:gaf2aecaaf56c48c70a2606e341da019d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab693be925f289d1bbf30adf37006bfc8"><td class="memItemLeft" align="right" valign="top"><a id="gab693be925f289d1bbf30adf37006bfc8" name="gab693be925f289d1bbf30adf37006bfc8"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameClContextW</b> (cl_context context, const wchar_t *name)</td></tr>
<tr class="separator:gab693be925f289d1bbf30adf37006bfc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad77c1f0c58901eac54ad4e25a3e0de0e"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gad77c1f0c58901eac54ad4e25a3e0de0e">nvtxNameClCommandQueueA</a> (cl_command_queue command_queue, const char *name)</td></tr>
<tr class="memdesc:gad77c1f0c58901eac54ad4e25a3e0de0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates an OpenCL command queue.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gad77c1f0c58901eac54ad4e25a3e0de0e">More...</a><br /></td></tr>
<tr class="separator:gad77c1f0c58901eac54ad4e25a3e0de0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2265baae355ebedf0e1e3ba00a7a563a"><td class="memItemLeft" align="right" valign="top"><a id="ga2265baae355ebedf0e1e3ba00a7a563a" name="ga2265baae355ebedf0e1e3ba00a7a563a"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameClCommandQueueW</b> (cl_command_queue command_queue, const wchar_t *name)</td></tr>
<tr class="separator:ga2265baae355ebedf0e1e3ba00a7a563a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c2f546121c845981e5ec9b4c318a5e1"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga8c2f546121c845981e5ec9b4c318a5e1">nvtxNameClMemObjectA</a> (cl_mem memobj, const char *name)</td></tr>
<tr class="memdesc:ga8c2f546121c845981e5ec9b4c318a5e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates an OpenCL memory object.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga8c2f546121c845981e5ec9b4c318a5e1">More...</a><br /></td></tr>
<tr class="separator:ga8c2f546121c845981e5ec9b4c318a5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad30a90e8024f801281d44a6a24beba62"><td class="memItemLeft" align="right" valign="top"><a id="gad30a90e8024f801281d44a6a24beba62" name="gad30a90e8024f801281d44a6a24beba62"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameClMemObjectW</b> (cl_mem memobj, const wchar_t *name)</td></tr>
<tr class="separator:gad30a90e8024f801281d44a6a24beba62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2933ed29151b0c3dcbcd9b80440b09a8"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga2933ed29151b0c3dcbcd9b80440b09a8">nvtxNameClSamplerA</a> (cl_sampler sampler, const char *name)</td></tr>
<tr class="memdesc:ga2933ed29151b0c3dcbcd9b80440b09a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates an OpenCL sampler.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga2933ed29151b0c3dcbcd9b80440b09a8">More...</a><br /></td></tr>
<tr class="separator:ga2933ed29151b0c3dcbcd9b80440b09a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2244422c9cd4869df4449b357c76a87a"><td class="memItemLeft" align="right" valign="top"><a id="ga2244422c9cd4869df4449b357c76a87a" name="ga2244422c9cd4869df4449b357c76a87a"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameClSamplerW</b> (cl_sampler sampler, const wchar_t *name)</td></tr>
<tr class="separator:ga2244422c9cd4869df4449b357c76a87a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab97f5a8a16c36c9c6b90428ae9ffa62e"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gab97f5a8a16c36c9c6b90428ae9ffa62e">nvtxNameClProgramA</a> (cl_program program, const char *name)</td></tr>
<tr class="memdesc:gab97f5a8a16c36c9c6b90428ae9ffa62e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates an OpenCL program.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gab97f5a8a16c36c9c6b90428ae9ffa62e">More...</a><br /></td></tr>
<tr class="separator:gab97f5a8a16c36c9c6b90428ae9ffa62e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5452cfe58230900c3cac3c13dcf849d9"><td class="memItemLeft" align="right" valign="top"><a id="ga5452cfe58230900c3cac3c13dcf849d9" name="ga5452cfe58230900c3cac3c13dcf849d9"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameClProgramW</b> (cl_program program, const wchar_t *name)</td></tr>
<tr class="separator:ga5452cfe58230900c3cac3c13dcf849d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25a2056832a5542f41c9e9872765f3d8"><td class="memItemLeft" align="right" valign="top">NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga25a2056832a5542f41c9e9872765f3d8">nvtxNameClEventA</a> (cl_event evnt, const char *name)</td></tr>
<tr class="memdesc:ga25a2056832a5542f41c9e9872765f3d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Annotates an OpenCL event.  <a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga25a2056832a5542f41c9e9872765f3d8">More...</a><br /></td></tr>
<tr class="separator:ga25a2056832a5542f41c9e9872765f3d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9eb02ec5f491745b056c51b2b6195134"><td class="memItemLeft" align="right" valign="top"><a id="ga9eb02ec5f491745b056c51b2b6195134" name="ga9eb02ec5f491745b056c51b2b6195134"></a>
NVTX_DECLSPEC void NVTX_API&#160;</td><td class="memItemRight" valign="bottom"><b>nvtxNameClEventW</b> (cl_event evnt, const wchar_t *name)</td></tr>
<tr class="separator:ga9eb02ec5f491745b056c51b2b6195134"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p >See <a class="el" href="index.html#RESOURCE_NAMING">Resource Naming</a> for more details</p>
<h1><a class="anchor" id="RESOURCE_NAMING_CUDA"></a>
CUDA Resource Naming</h1>
<p >This section covers the API functions that allow to annotate CUDA resources with user-provided names.</p>
<h1><a class="anchor" id="RESOURCE_NAMING_CUDART"></a>
CUDA Runtime Resource Naming</h1>
<p >This section covers the API functions that allow to annotate CUDA resources with user-provided names.</p>
<h1><a class="anchor" id="RESOURCE_NAMING_OPENCL"></a>
OpenCL Resource Naming</h1>
<p >This section covers the API functions that allow to annotate OpenCL resources with user-provided names. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga0c4c8dd24343fa6f3d32cd778c5fd9ff" name="ga0c4c8dd24343fa6f3d32cd778c5fd9ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0c4c8dd24343fa6f3d32cd778c5fd9ff">&#9670;&#160;</a></span>nvtxResourceCUDARTType_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga0c4c8dd24343fa6f3d32cd778c5fd9ff">nvtxResourceCUDARTType_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resource types for CUDART. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_cuda_rt_8h_source.html#l00044">44</a> of file <a class="el" href="nv_tools_ext_cuda_rt_8h_source.html">nvToolsExtCudaRt.h</a>.</p>

</div>
</div>
<a id="gac064cff7b338ee310435be257d66c770" name="gac064cff7b338ee310435be257d66c770"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac064cff7b338ee310435be257d66c770">&#9670;&#160;</a></span>nvtxResourceCUDAType_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gac064cff7b338ee310435be257d66c770">nvtxResourceCUDAType_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resource types for CUDA. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_cuda_8h_source.html#l00043">43</a> of file <a class="el" href="nv_tools_ext_cuda_8h_source.html">nvToolsExtCuda.h</a>.</p>

</div>
</div>
<a id="gabaaf30c7cfd72033a5521de326eacdab" name="gabaaf30c7cfd72033a5521de326eacdab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabaaf30c7cfd72033a5521de326eacdab">&#9670;&#160;</a></span>nvtxResourceGenericType_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gabaaf30c7cfd72033a5521de326eacdab">nvtxResourceGenericType_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generic resource type for when a resource class is not available. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga12271bb3f03619d5862bd5a900f9aac1" title="Create a resource object to track and associate data with OS and middleware objects.">nvtxDomainResourceCreate</a></dd></dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_2 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggabaaf30c7cfd72033a5521de326eacdabac874caafa9e3038f4c3302917278f57f" name="ggabaaf30c7cfd72033a5521de326eacdabac874caafa9e3038f4c3302917278f57f"></a>NVTX_RESOURCE_TYPE_GENERIC_POINTER&#160;</td><td class="fielddoc"><p >Generic pointer assumed to have no collisions with other pointers. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggabaaf30c7cfd72033a5521de326eacdabab9172fba948d1b324be487c212f6090b" name="ggabaaf30c7cfd72033a5521de326eacdabab9172fba948d1b324be487c212f6090b"></a>NVTX_RESOURCE_TYPE_GENERIC_HANDLE&#160;</td><td class="fielddoc"><p >Generic handle assumed to have no collisions with other handles. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggabaaf30c7cfd72033a5521de326eacdabad7cc4f337d6271605c43cac23f2fa65f" name="ggabaaf30c7cfd72033a5521de326eacdabad7cc4f337d6271605c43cac23f2fa65f"></a>NVTX_RESOURCE_TYPE_GENERIC_THREAD_NATIVE&#160;</td><td class="fielddoc"><p >OS native thread identifier. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggabaaf30c7cfd72033a5521de326eacdaba3a4a3e315e274f7d1665b2b4b47dbebb" name="ggabaaf30c7cfd72033a5521de326eacdaba3a4a3e315e274f7d1665b2b4b47dbebb"></a>NVTX_RESOURCE_TYPE_GENERIC_THREAD_POSIX&#160;</td><td class="fielddoc"><p >POSIX pthread identifier. </p>
</td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_8h_source.html#l00949">949</a> of file <a class="el" href="nv_tools_ext_8h_source.html">nvToolsExt.h</a>.</p>

</div>
</div>
<a id="gabe2bb2099deba2265ec10b8881102e97" name="gabe2bb2099deba2265ec10b8881102e97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabe2bb2099deba2265ec10b8881102e97">&#9670;&#160;</a></span>nvtxResourceOpenCLType_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gabe2bb2099deba2265ec10b8881102e97">nvtxResourceOpenCLType_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resource types for OpenCL. </p>

<p class="definition">Definition at line <a class="el" href="nv_tools_ext_open_c_l_8h_source.html#l00043">43</a> of file <a class="el" href="nv_tools_ext_open_c_l_8h_source.html">nvToolsExtOpenCL.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaf2898af52be50279355c0ee1f57afbaa" name="gaf2898af52be50279355c0ee1f57afbaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf2898af52be50279355c0ee1f57afbaa">&#9670;&#160;</a></span>nvtxDomainNameCategoryA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxDomainNameCategoryA </td>
          <td>(</td>
          <td class="paramtype">nvtxDomainHandle_t&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>category</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotate an NVTX category used within a domain. </p>
<p >Categories are used to group sets of events. Each category is identified through a unique ID and that ID is passed into any of the marker/range events to assign that event to a specific category. The nvtxDomainNameCategory function calls allow the user to assign a name to a category ID that is specific to the domain.</p>
<p >nvtxDomainNameCategory(NULL, category, name) is equivalent to calling nvtxNameCategory(category, name).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">domain</td><td>- The domain of scoping the category. </td></tr>
    <tr><td class="paramname">category</td><td>- The category ID to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the category.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>The category names are tracked per domain.</dd></dl>
<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line">nvtxDomainHandle_t domain = <a class="code hl_function" href="group___d_o_m_a_i_n_s.html#ga2bbf44a48a4a46bf8900bd886524d87d">nvtxDomainCreateA</a>(<span class="stringliteral">&quot;example&quot;</span>);</div>
<div class="line"><a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaf2898af52be50279355c0ee1f57afbaa">nvtxDomainNameCategoryA</a>(domain, 1, <span class="stringliteral">&quot;Memory Allocation&quot;</span>);</div>
<div class="line">nvtxDomainNameCategoryW(domain, 2, L<span class="stringliteral">&quot;Memory Transfer&quot;</span>);</div>
<div class="ttc" id="agroup___d_o_m_a_i_n_s_html_ga2bbf44a48a4a46bf8900bd886524d87d"><div class="ttname"><a href="group___d_o_m_a_i_n_s.html#ga2bbf44a48a4a46bf8900bd886524d87d">nvtxDomainCreateA</a></div><div class="ttdeci">NVTX_DECLSPEC nvtxDomainHandle_t NVTX_API nvtxDomainCreateA(const char *name)</div><div class="ttdoc">Register a NVTX domain.</div></div>
<div class="ttc" id="agroup___r_e_s_o_u_r_c_e___n_a_m_i_n_g_html_gaf2898af52be50279355c0ee1f57afbaa"><div class="ttname"><a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaf2898af52be50279355c0ee1f57afbaa">nvtxDomainNameCategoryA</a></div><div class="ttdeci">NVTX_DECLSPEC void NVTX_API nvtxDomainNameCategoryA(nvtxDomainHandle_t domain, uint32_t category, const char *name)</div><div class="ttdoc">Annotate an NVTX category used within a domain.</div></div>
</div><!-- fragment --></dd></dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_2 </dd></dl>

</div>
</div>
<a id="ga12271bb3f03619d5862bd5a900f9aac1" name="ga12271bb3f03619d5862bd5a900f9aac1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga12271bb3f03619d5862bd5a900f9aac1">&#9670;&#160;</a></span>nvtxDomainResourceCreate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC nvtxResourceHandle_t NVTX_API nvtxDomainResourceCreate </td>
          <td>(</td>
          <td class="paramtype">nvtxDomainHandle_t&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">nvtxResourceAttributes_t *&#160;</td>
          <td class="paramname"><em>attribs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a resource object to track and associate data with OS and middleware objects. </p>
<p >Allows users to associate an API handle or pointer with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">domain</td><td>- Domain to own the resource object </td></tr>
    <tr><td class="paramname">attribs</td><td>- Attributes to be associated with the resource</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A handle that represents the newly created resource object.</dd></dl>
<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line">nvtxDomainHandle_t domain = <a class="code hl_function" href="group___d_o_m_a_i_n_s.html#ga2bbf44a48a4a46bf8900bd886524d87d">nvtxDomainCreateA</a>(<span class="stringliteral">&quot;example domain&quot;</span>);</div>
<div class="line">nvtxResourceAttributes_t attribs = {0};</div>
<div class="line">attribs.version = <a class="code hl_define" href="nv_tools_ext_8h.html#a270c1573fb02bc9f15825438913a255c">NVTX_VERSION</a>;</div>
<div class="line">attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;</div>
<div class="line">attribs.identifierType = <a class="code hl_enumvalue" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ggabaaf30c7cfd72033a5521de326eacdabac874caafa9e3038f4c3302917278f57f">NVTX_RESOURCE_TYPE_GENERIC_POINTER</a>;</div>
<div class="line">attribs.identifier.pValue = (<span class="keyword">const</span> <span class="keywordtype">void</span>*)pMutex;</div>
<div class="line">attribs.messageType = <a class="code hl_enumvalue" href="group___g_e_n_e_r_a_l.html#ggaf74d5ab5269ee3c1de7aa0059ca31c46aad30a1fb6651b7f2c36d8d19ade74576">NVTX_MESSAGE_TYPE_ASCII</a>;</div>
<div class="line">attribs.message.ascii = <span class="stringliteral">&quot;Single thread access to database.&quot;</span>;</div>
<div class="line">nvtxResourceHandle_t handle = <a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga12271bb3f03619d5862bd5a900f9aac1">nvtxDomainResourceCreate</a>(domain, attribs);</div>
<div class="ttc" id="agroup___g_e_n_e_r_a_l_html_ggaf74d5ab5269ee3c1de7aa0059ca31c46aad30a1fb6651b7f2c36d8d19ade74576"><div class="ttname"><a href="group___g_e_n_e_r_a_l.html#ggaf74d5ab5269ee3c1de7aa0059ca31c46aad30a1fb6651b7f2c36d8d19ade74576">NVTX_MESSAGE_TYPE_ASCII</a></div><div class="ttdeci">@ NVTX_MESSAGE_TYPE_ASCII</div><div class="ttdef"><b>Definition:</b> <a href="nv_tools_ext_8h_source.html#l00285">nvToolsExt.h:285</a></div></div>
<div class="ttc" id="agroup___r_e_s_o_u_r_c_e___n_a_m_i_n_g_html_ga12271bb3f03619d5862bd5a900f9aac1"><div class="ttname"><a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga12271bb3f03619d5862bd5a900f9aac1">nvtxDomainResourceCreate</a></div><div class="ttdeci">NVTX_DECLSPEC nvtxResourceHandle_t NVTX_API nvtxDomainResourceCreate(nvtxDomainHandle_t domain, nvtxResourceAttributes_t *attribs)</div><div class="ttdoc">Create a resource object to track and associate data with OS and middleware objects.</div></div>
<div class="ttc" id="agroup___r_e_s_o_u_r_c_e___n_a_m_i_n_g_html_ggabaaf30c7cfd72033a5521de326eacdabac874caafa9e3038f4c3302917278f57f"><div class="ttname"><a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ggabaaf30c7cfd72033a5521de326eacdabac874caafa9e3038f4c3302917278f57f">NVTX_RESOURCE_TYPE_GENERIC_POINTER</a></div><div class="ttdeci">@ NVTX_RESOURCE_TYPE_GENERIC_POINTER</div><div class="ttdef"><b>Definition:</b> <a href="nv_tools_ext_8h_source.html#l00952">nvToolsExt.h:952</a></div></div>
<div class="ttc" id="anv_tools_ext_8h_html_a270c1573fb02bc9f15825438913a255c"><div class="ttname"><a href="nv_tools_ext_8h.html#a270c1573fb02bc9f15825438913a255c">NVTX_VERSION</a></div><div class="ttdeci">#define NVTX_VERSION</div><div class="ttdef"><b>Definition:</b> <a href="nv_tools_ext_8h_source.html#l00155">nvToolsExt.h:155</a></div></div>
</div><!-- fragment --></dd></dl>
<dl class="section see"><dt>See also</dt><dd>::nvtxResourceAttributes_t <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaa95f902006e108c6fcca5c76b2d4a2b1" title="Destroy a resource object to track and associate data with OS and middleware objects.">nvtxDomainResourceDestroy</a></dd></dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_2 </dd></dl>

</div>
</div>
<a id="gaa95f902006e108c6fcca5c76b2d4a2b1" name="gaa95f902006e108c6fcca5c76b2d4a2b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa95f902006e108c6fcca5c76b2d4a2b1">&#9670;&#160;</a></span>nvtxDomainResourceDestroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxDomainResourceDestroy </td>
          <td>(</td>
          <td class="paramtype">nvtxResourceHandle_t&#160;</td>
          <td class="paramname"><em>resource</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroy a resource object to track and associate data with OS and middleware objects. </p>
<p >Allows users to associate an API handle or pointer with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">resource</td><td>- Handle to the resource in which to operate.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line">nvtxDomainHandle_t domain = <a class="code hl_function" href="group___d_o_m_a_i_n_s.html#ga2bbf44a48a4a46bf8900bd886524d87d">nvtxDomainCreateA</a>(<span class="stringliteral">&quot;example domain&quot;</span>);</div>
<div class="line">nvtxResourceAttributes_t attribs = {0};</div>
<div class="line">attribs.version = <a class="code hl_define" href="nv_tools_ext_8h.html#a270c1573fb02bc9f15825438913a255c">NVTX_VERSION</a>;</div>
<div class="line">attribs.size = NVTX_RESOURCE_ATTRIB_STRUCT_SIZE;</div>
<div class="line">attribs.identifierType = <a class="code hl_enumvalue" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ggabaaf30c7cfd72033a5521de326eacdabac874caafa9e3038f4c3302917278f57f">NVTX_RESOURCE_TYPE_GENERIC_POINTER</a>;</div>
<div class="line">attribs.identifier.pValue = (<span class="keyword">const</span> <span class="keywordtype">void</span>*)pMutex;</div>
<div class="line">attribs.messageType = <a class="code hl_enumvalue" href="group___g_e_n_e_r_a_l.html#ggaf74d5ab5269ee3c1de7aa0059ca31c46aad30a1fb6651b7f2c36d8d19ade74576">NVTX_MESSAGE_TYPE_ASCII</a>;</div>
<div class="line">attribs.message.ascii = <span class="stringliteral">&quot;Single thread access to database.&quot;</span>;</div>
<div class="line">nvtxResourceHandle_t handle = <a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga12271bb3f03619d5862bd5a900f9aac1">nvtxDomainResourceCreate</a>(domain, attribs);</div>
<div class="line"><a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaa95f902006e108c6fcca5c76b2d4a2b1">nvtxDomainResourceDestroy</a>(handle);</div>
<div class="ttc" id="agroup___r_e_s_o_u_r_c_e___n_a_m_i_n_g_html_gaa95f902006e108c6fcca5c76b2d4a2b1"><div class="ttname"><a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaa95f902006e108c6fcca5c76b2d4a2b1">nvtxDomainResourceDestroy</a></div><div class="ttdeci">NVTX_DECLSPEC void NVTX_API nvtxDomainResourceDestroy(nvtxResourceHandle_t resource)</div><div class="ttdoc">Destroy a resource object to track and associate data with OS and middleware objects.</div></div>
</div><!-- fragment --></dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga12271bb3f03619d5862bd5a900f9aac1" title="Create a resource object to track and associate data with OS and middleware objects.">nvtxDomainResourceCreate</a></dd></dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_2 </dd></dl>

</div>
</div>
<a id="ga801e84711db9de7b28235e529b101e4a" name="ga801e84711db9de7b28235e529b101e4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga801e84711db9de7b28235e529b101e4a">&#9670;&#160;</a></span>nvtxNameCategoryA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameCategoryA </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>category</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotate an NVTX category. </p>
<p >Categories are used to group sets of events. Each category is identified through a unique ID and that ID is passed into any of the marker/range events to assign that event to a specific category. The nvtxNameCategory function calls allow the user to assign a name to a category ID.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">category</td><td>- The category ID to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the category.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>The category names are tracked per process.</dd></dl>
<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line">nvtxNameCategory(1, <span class="stringliteral">&quot;Memory Allocation&quot;</span>);</div>
<div class="line">nvtxNameCategory(2, <span class="stringliteral">&quot;Memory Transfer&quot;</span>);</div>
<div class="line">nvtxNameCategory(3, <span class="stringliteral">&quot;Memory Object Lifetime&quot;</span>);</div>
</div><!-- fragment --></dd></dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="gad77c1f0c58901eac54ad4e25a3e0de0e" name="gad77c1f0c58901eac54ad4e25a3e0de0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad77c1f0c58901eac54ad4e25a3e0de0e">&#9670;&#160;</a></span>nvtxNameClCommandQueueA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameClCommandQueueA </td>
          <td>(</td>
          <td class="paramtype">cl_command_queue&#160;</td>
          <td class="paramname"><em>command_queue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates an OpenCL command queue. </p>
<p >Allows to associate an OpenCL command queue with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command_queue</td><td>- The handle of the OpenCL command queue to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the OpenCL command queue.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="gaf2aecaaf56c48c70a2606e341da019d4" name="gaf2aecaaf56c48c70a2606e341da019d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf2aecaaf56c48c70a2606e341da019d4">&#9670;&#160;</a></span>nvtxNameClContextA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameClContextA </td>
          <td>(</td>
          <td class="paramtype">cl_context&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates an OpenCL context. </p>
<p >Allows to associate an OpenCL context with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>- The handle of the OpenCL context to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the OpenCL context.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="ga41c7b1a74896903cbe37766555d7bbfc" name="ga41c7b1a74896903cbe37766555d7bbfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga41c7b1a74896903cbe37766555d7bbfc">&#9670;&#160;</a></span>nvtxNameClDeviceA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameClDeviceA </td>
          <td>(</td>
          <td class="paramtype">cl_device_id&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates an OpenCL device. </p>
<p >Allows to associate an OpenCL device with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>- The handle of the OpenCL device to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the OpenCL device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="ga25a2056832a5542f41c9e9872765f3d8" name="ga25a2056832a5542f41c9e9872765f3d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga25a2056832a5542f41c9e9872765f3d8">&#9670;&#160;</a></span>nvtxNameClEventA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameClEventA </td>
          <td>(</td>
          <td class="paramtype">cl_event&#160;</td>
          <td class="paramname"><em>evnt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates an OpenCL event. </p>
<p >Allows to associate an OpenCL event with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">evnt</td><td>- The handle of the OpenCL event to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the OpenCL event.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="ga8c2f546121c845981e5ec9b4c318a5e1" name="ga8c2f546121c845981e5ec9b4c318a5e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8c2f546121c845981e5ec9b4c318a5e1">&#9670;&#160;</a></span>nvtxNameClMemObjectA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameClMemObjectA </td>
          <td>(</td>
          <td class="paramtype">cl_mem&#160;</td>
          <td class="paramname"><em>memobj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates an OpenCL memory object. </p>
<p >Allows to associate an OpenCL memory object with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">memobj</td><td>- The handle of the OpenCL memory object to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the OpenCL memory object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="gab97f5a8a16c36c9c6b90428ae9ffa62e" name="gab97f5a8a16c36c9c6b90428ae9ffa62e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab97f5a8a16c36c9c6b90428ae9ffa62e">&#9670;&#160;</a></span>nvtxNameClProgramA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameClProgramA </td>
          <td>(</td>
          <td class="paramtype">cl_program&#160;</td>
          <td class="paramname"><em>program</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates an OpenCL program. </p>
<p >Allows to associate an OpenCL program with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">program</td><td>- The handle of the OpenCL program to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the OpenCL program.</td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line">cpProgram = clCreateProgramWithSource(cxGPUContext, 1,</div>
<div class="line">    (<span class="keyword">const</span> <span class="keywordtype">char</span> **) &amp;cSourceCL, &amp;program_length, &amp;ciErrNum);</div>
<div class="line">shrCheckErrorEX(ciErrNum, CL_SUCCESS, pCleanup);</div>
<div class="line">nvtxNameClProgram(cpProgram, L<span class="stringliteral">&quot;PROGRAM_NAME&quot;</span>);</div>
</div><!-- fragment --><dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="ga2933ed29151b0c3dcbcd9b80440b09a8" name="ga2933ed29151b0c3dcbcd9b80440b09a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2933ed29151b0c3dcbcd9b80440b09a8">&#9670;&#160;</a></span>nvtxNameClSamplerA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameClSamplerA </td>
          <td>(</td>
          <td class="paramtype">cl_sampler&#160;</td>
          <td class="paramname"><em>sampler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates an OpenCL sampler. </p>
<p >Allows to associate an OpenCL sampler with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sampler</td><td>- The handle of the OpenCL sampler to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the OpenCL sampler.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="ga9e4a70510d4deb5e0e21039d00a64dc4" name="ga9e4a70510d4deb5e0e21039d00a64dc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9e4a70510d4deb5e0e21039d00a64dc4">&#9670;&#160;</a></span>nvtxNameCuContextA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameCuContextA </td>
          <td>(</td>
          <td class="paramtype">CUcontext&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates a CUDA context. </p>
<p >Allows the user to associate a CUDA context with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>- The handle of the CUDA context to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the CUDA context.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Example:</dt><dd><div class="fragment"><div class="line">CUresult status = cuCtxCreate( &amp;cuContext, 0, cuDevice );</div>
<div class="line"><span class="keywordflow">if</span> ( CUDA_SUCCESS != status )</div>
<div class="line">    <span class="keywordflow">goto</span> Error;</div>
<div class="line">nvtxNameCuContext(cuContext, <span class="stringliteral">&quot;CTX_NAME&quot;</span>);</div>
</div><!-- fragment --></dd></dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="ga7dc62de300d3ee0ecd96c8ea4bdf9ede" name="ga7dc62de300d3ee0ecd96c8ea4bdf9ede"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7dc62de300d3ee0ecd96c8ea4bdf9ede">&#9670;&#160;</a></span>nvtxNameCudaDeviceA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameCudaDeviceA </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates a CUDA device. </p>
<p >Allows the user to associate a CUDA device with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>- The id of the CUDA device to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the CUDA device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="gabbdb1f82b6ae42291dd9f9cfce0bda6a" name="gabbdb1f82b6ae42291dd9f9cfce0bda6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabbdb1f82b6ae42291dd9f9cfce0bda6a">&#9670;&#160;</a></span>nvtxNameCudaEventA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameCudaEventA </td>
          <td>(</td>
          <td class="paramtype">cudaEvent_t&#160;</td>
          <td class="paramname"><em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates a CUDA event. </p>
<p >Allows the user to associate a CUDA event with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">event</td><td>- The handle of the CUDA event to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the CUDA event.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="ga83a1216bed0f8c995a9f8190325d502c" name="ga83a1216bed0f8c995a9f8190325d502c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga83a1216bed0f8c995a9f8190325d502c">&#9670;&#160;</a></span>nvtxNameCudaStreamA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameCudaStreamA </td>
          <td>(</td>
          <td class="paramtype">cudaStream_t&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates a CUDA stream. </p>
<p >Allows the user to associate a CUDA stream with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">stream</td><td>- The handle of the CUDA stream to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the CUDA stream.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="ga3c55ce198bddea831a5ba087361eb6df" name="ga3c55ce198bddea831a5ba087361eb6df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3c55ce198bddea831a5ba087361eb6df">&#9670;&#160;</a></span>nvtxNameCuDeviceA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameCuDeviceA </td>
          <td>(</td>
          <td class="paramtype">CUdevice&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates a CUDA device. </p>
<p >Allows the user to associate a CUDA device with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>- The handle of the CUDA device to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the CUDA device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="ga7d27495642375963619c4be8f871abc1" name="ga7d27495642375963619c4be8f871abc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7d27495642375963619c4be8f871abc1">&#9670;&#160;</a></span>nvtxNameCuEventA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameCuEventA </td>
          <td>(</td>
          <td class="paramtype">CUevent&#160;</td>
          <td class="paramname"><em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates a CUDA event. </p>
<p >Allows the user to associate a CUDA event with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">event</td><td>- The handle of the CUDA event to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the CUDA event.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="gacada16c62463b268f8ede952ec77f766" name="gacada16c62463b268f8ede952ec77f766"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacada16c62463b268f8ede952ec77f766">&#9670;&#160;</a></span>nvtxNameCuStreamA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameCuStreamA </td>
          <td>(</td>
          <td class="paramtype">CUstream&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotates a CUDA stream. </p>
<p >Allows the user to associate a CUDA stream with a user-provided name.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">stream</td><td>- The handle of the CUDA stream to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the CUDA stream.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
<a id="gaeb7d5b25e1147fc4aaf1f3acb8e719d0" name="gaeb7d5b25e1147fc4aaf1f3acb8e719d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">&#9670;&#160;</a></span>nvtxNameOsThreadA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NVTX_DECLSPEC void NVTX_API nvtxNameOsThreadA </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>threadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Annotate an OS thread. </p>
<p >Allows the user to name an active thread of the current process. If an invalid thread ID is provided or a thread ID from a different process is used the behavior of the tool is implementation dependent.</p>
<p >Tools expect thread ID to be a number that uniquely identifies the thread at the time of the call. Note that a thread's ID can be reused after it is destroyed. Tools may choose how to handle aliasing of thread IDs.</p>
<p >POSIX pthread_t type returned by pthread_self() may not comply with these expectations. Please use OS-specific thread ID instead of pthread_t.</p>
<p >The thread name is associated to the default domain. To support domains use resource objects via <a class="el" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#ga12271bb3f03619d5862bd5a900f9aac1" title="Create a resource object to track and associate data with OS and middleware objects.">nvtxDomainResourceCreate</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">threadId</td><td>- The ID of the thread to name. </td></tr>
    <tr><td class="paramname">name</td><td>- The name of the thread.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Examples:</dt><dd>MS Windows: <div class="fragment"><div class="line"><span class="preprocessor">#include &lt;windows.h&gt;</span></div>
<div class="line">nvtxNameOsThread(GetCurrentThreadId(), <span class="stringliteral">&quot;Current thread&quot;</span>);</div>
<div class="line">nvtxNameOsThread(GetThreadId(SomeThreadHandle), <span class="stringliteral">&quot;Other thread&quot;</span>);</div>
</div><!-- fragment --></dd></dl>
<p>Android: </p><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
<div class="line"><a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">nvtxNameOsThreadA</a>(gettid(), <span class="stringliteral">&quot;Current thread&quot;</span>);</div>
<div class="line"><a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">nvtxNameOsThreadA</a>(getpid(), <span class="stringliteral">&quot;Main thread&quot;</span>);</div>
<div class="ttc" id="agroup___r_e_s_o_u_r_c_e___n_a_m_i_n_g_html_gaeb7d5b25e1147fc4aaf1f3acb8e719d0"><div class="ttname"><a href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">nvtxNameOsThreadA</a></div><div class="ttdeci">NVTX_DECLSPEC void NVTX_API nvtxNameOsThreadA(uint32_t threadId, const char *name)</div><div class="ttdoc">Annotate an OS thread.</div></div>
</div><!-- fragment --><p >Linux: </p><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;sys/syscall.h&gt;</span></div>
<div class="line"><a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">nvtxNameOsThreadA</a>(syscall(SYS_gettid), <span class="stringliteral">&quot;Current thread&quot;</span>);</div>
</div><!-- fragment --> <div class="fragment"><div class="line"><span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
<div class="line"><a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">nvtxNameOsThreadA</a>(getpid(), <span class="stringliteral">&quot;Main thread&quot;</span>);</div>
</div><!-- fragment --><p >OS X: </p><div class="fragment"><div class="line"><span class="preprocessor">#include &lt;sys/syscall.h&gt;</span></div>
<div class="line"><a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">nvtxNameOsThreadA</a>(syscall(SYS_thread_selfid), <span class="stringliteral">&quot;Current thread&quot;</span>);</div>
</div><!-- fragment --> <div class="fragment"><div class="line"><span class="preprocessor">#include &lt;pthread.h&gt;</span></div>
<div class="line">__uint64_t id;</div>
<div class="line">pthread_threadid_np(pthread_self(), &amp;<span class="keywordtype">id</span>);</div>
<div class="line"><a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">nvtxNameOsThreadA</a>(<span class="keywordtype">id</span>, <span class="stringliteral">&quot;Current thread&quot;</span>);</div>
<div class="line">pthread_threadid_np(somePThreadId, &amp;<span class="keywordtype">id</span>);</div>
<div class="line"><a class="code hl_function" href="group___r_e_s_o_u_r_c_e___n_a_m_i_n_g.html#gaeb7d5b25e1147fc4aaf1f3acb8e719d0">nvtxNameOsThreadA</a>(<span class="keywordtype">id</span>, <span class="stringliteral">&quot;Other thread&quot;</span>);</div>
</div><!-- fragment --><dl class="section version"><dt>Version</dt><dd>\NVTX_VERSION_1 </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
</small></address>
</body>
</html>
